/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vista;

import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import javax.swing.DefaultListModel;
import javax.swing.JOptionPane;
import modelo.Intervalo;
import modelo.Operaciones;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author juan
 */
public class VistaGenerador extends javax.swing.JFrame {
    
    private int a;
    private int T;
    private int valor_para_m;
    private int m;
    private double semilla;
    private int c;
    private DefaultListModel listModel;
    private ArrayList<Double> numeros;
    private Intervalo intervalo[];
    private double amplitud;
    private double frecuencia_Esperada;
    private int cant_Numeros;
    private int cant_Intervalos;
    private DefaultCategoryDataset dataset;

           

    /**
     * Creates new form VistaGenerador
     */
    public VistaGenerador() {
        initComponents();
        this.setLocationRelativeTo(null);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btn_Grupo_Forma = new javax.swing.ButtonGroup();
        btn_Grupo_Metodo = new javax.swing.ButtonGroup();
        pnl_Constantes = new javax.swing.JPanel();
        lbl_Valor_T = new javax.swing.JLabel();
        lbl_Valor_para_m = new javax.swing.JLabel();
        txt_Valor_T = new javax.swing.JTextField();
        txt_Valor_para_m = new javax.swing.JTextField();
        btn_Generar_a = new javax.swing.JButton();
        btn_Generar_m = new javax.swing.JButton();
        lbl_Valor_a = new javax.swing.JLabel();
        lbl_Valor_m = new javax.swing.JLabel();
        txt_Valor_a = new javax.swing.JTextField();
        txt_Valor_m = new javax.swing.JTextField();
        btn_Limpiar_Constantes = new javax.swing.JButton();
        pnl_Forma = new javax.swing.JPanel();
        rbtn_Decimal = new javax.swing.JRadioButton();
        rbtn_Binario = new javax.swing.JRadioButton();
        pnl_Metodo = new javax.swing.JPanel();
        rbtn_Mixto = new javax.swing.JRadioButton();
        rbtn_Multiplicativo = new javax.swing.JRadioButton();
        pnl_Numeros = new javax.swing.JPanel();
        scroll_Lista = new javax.swing.JScrollPane();
        lst_Numeros = new javax.swing.JList();
        btn_Generar_Serie = new javax.swing.JButton();
        btn_Mas_1 = new javax.swing.JButton();
        btn_Limpiar_Lista = new javax.swing.JButton();
        btn_Graficar = new javax.swing.JButton();
        lbl_Semilla = new javax.swing.JLabel();
        txt_Semilla = new javax.swing.JTextField();
        lbl_Valor_c = new javax.swing.JLabel();
        txt_Cant_Intervalos = new javax.swing.JTextField();
        lbl_Intervalo = new javax.swing.JLabel();
        txt_Valor_c = new javax.swing.JTextField();
        lbl_Cant_Nros = new javax.swing.JLabel();
        txt_Cant_Nros = new javax.swing.JTextField();
        btn_Guardar_Serie = new javax.swing.JButton();
        btn_Cerrar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Generador de Numeros Aleatorios");
        setAlwaysOnTop(true);
        setName("Frm_Generador");

        pnl_Constantes.setBorder(javax.swing.BorderFactory.createTitledBorder("Generación de Constantes"));

        lbl_Valor_T.setText("Valor T: ");

        lbl_Valor_para_m.setText("Valor: ");

        txt_Valor_T.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txt_Valor_TKeyPressed(evt);
            }
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txt_Valor_TKeyTyped(evt);
            }
        });

        txt_Valor_para_m.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txt_Valor_para_mKeyPressed(evt);
            }
        });

        btn_Generar_a.setText("Generar a");
        btn_Generar_a.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Generar_aActionPerformed(evt);
            }
        });

        btn_Generar_m.setText("Generar m");
        btn_Generar_m.setToolTipText("<html>\nSi el método seleccionado es binario, m es igual a 2^valor_para_m<br>\nSi el método seleccionado es decimal, m es igual a 10^valor_para_m\n</html>");
        btn_Generar_m.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Generar_mActionPerformed(evt);
            }
        });

        lbl_Valor_a.setText("Valor a: ");

        lbl_Valor_m.setText("Valor m: ");

        txt_Valor_a.setEnabled(false);

        txt_Valor_m.setEnabled(false);

        btn_Limpiar_Constantes.setText("Limpiar");
        btn_Limpiar_Constantes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Limpiar_ConstantesActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnl_ConstantesLayout = new javax.swing.GroupLayout(pnl_Constantes);
        pnl_Constantes.setLayout(pnl_ConstantesLayout);
        pnl_ConstantesLayout.setHorizontalGroup(
            pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_ConstantesLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lbl_Valor_T, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lbl_Valor_para_m, javax.swing.GroupLayout.Alignment.TRAILING))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(txt_Valor_T, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE)
                    .addComponent(txt_Valor_para_m))
                .addGap(18, 18, 18)
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btn_Generar_m, javax.swing.GroupLayout.DEFAULT_SIZE, 124, Short.MAX_VALUE)
                    .addComponent(btn_Limpiar_Constantes, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btn_Generar_a, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(12, 12, 12)
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lbl_Valor_a, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lbl_Valor_m, javax.swing.GroupLayout.Alignment.TRAILING))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txt_Valor_a, javax.swing.GroupLayout.DEFAULT_SIZE, 50, Short.MAX_VALUE)
                    .addComponent(txt_Valor_m))
                .addGap(23, 23, 23))
        );
        pnl_ConstantesLayout.setVerticalGroup(
            pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_ConstantesLayout.createSequentialGroup()
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lbl_Valor_T)
                    .addComponent(btn_Generar_a)
                    .addComponent(lbl_Valor_a)
                    .addComponent(txt_Valor_a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txt_Valor_T, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(btn_Generar_m)
                        .addComponent(lbl_Valor_m)
                        .addComponent(txt_Valor_m, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(pnl_ConstantesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(txt_Valor_para_m, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lbl_Valor_para_m)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btn_Limpiar_Constantes)
                .addGap(0, 8, Short.MAX_VALUE))
        );

        pnl_Forma.setBorder(javax.swing.BorderFactory.createTitledBorder("Forma"));

        rbtn_Decimal.setText("Decimal");
        rbtn_Decimal.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                rbtn_DecimalItemStateChanged(evt);
            }
        });
        rbtn_Decimal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rbtn_DecimalActionPerformed(evt);
            }
        });

        rbtn_Binario.setText("Binario");
        rbtn_Binario.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                rbtn_BinarioItemStateChanged(evt);
            }
        });
        rbtn_Binario.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rbtn_BinarioActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnl_FormaLayout = new javax.swing.GroupLayout(pnl_Forma);
        pnl_Forma.setLayout(pnl_FormaLayout);
        pnl_FormaLayout.setHorizontalGroup(
            pnl_FormaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_FormaLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnl_FormaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(rbtn_Binario)
                    .addComponent(rbtn_Decimal))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnl_FormaLayout.setVerticalGroup(
            pnl_FormaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_FormaLayout.createSequentialGroup()
                .addComponent(rbtn_Binario)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(rbtn_Decimal)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pnl_Metodo.setBorder(javax.swing.BorderFactory.createTitledBorder("Método"));

        rbtn_Mixto.setText("Mixto");
        rbtn_Mixto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rbtn_MixtoActionPerformed(evt);
            }
        });

        rbtn_Multiplicativo.setText("Multiplicativo");
        rbtn_Multiplicativo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                rbtn_MultiplicativoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnl_MetodoLayout = new javax.swing.GroupLayout(pnl_Metodo);
        pnl_Metodo.setLayout(pnl_MetodoLayout);
        pnl_MetodoLayout.setHorizontalGroup(
            pnl_MetodoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_MetodoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(pnl_MetodoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnl_MetodoLayout.createSequentialGroup()
                        .addGap(0, 0, Short.MAX_VALUE)
                        .addComponent(rbtn_Multiplicativo))
                    .addGroup(pnl_MetodoLayout.createSequentialGroup()
                        .addComponent(rbtn_Mixto)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        pnl_MetodoLayout.setVerticalGroup(
            pnl_MetodoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_MetodoLayout.createSequentialGroup()
                .addComponent(rbtn_Mixto)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(rbtn_Multiplicativo)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pnl_Numeros.setBorder(javax.swing.BorderFactory.createTitledBorder("Generación de Números"));

        scroll_Lista.setViewportView(lst_Numeros);

        btn_Generar_Serie.setText("Generar Serie");
        btn_Generar_Serie.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Generar_SerieActionPerformed(evt);
            }
        });

        btn_Mas_1.setText("+1");
        btn_Mas_1.setEnabled(false);
        btn_Mas_1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Mas_1ActionPerformed(evt);
            }
        });

        btn_Limpiar_Lista.setText("Limpiar");
        btn_Limpiar_Lista.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Limpiar_ListaActionPerformed(evt);
            }
        });

        btn_Graficar.setText("Graficar");
        btn_Graficar.setEnabled(false);
        btn_Graficar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_GraficarActionPerformed(evt);
            }
        });

        lbl_Semilla.setText("Semilla: ");

        txt_Semilla.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txt_SemillaKeyPressed(evt);
            }
        });

        lbl_Valor_c.setText("Valor c: ");

        txt_Cant_Intervalos.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txt_Cant_IntervalosKeyPressed(evt);
            }
        });

        lbl_Intervalo.setText("Intervalos:");

        txt_Valor_c.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txt_Valor_cKeyPressed(evt);
            }
        });

        lbl_Cant_Nros.setText("Cantidad de nros a generar: ");

        txt_Cant_Nros.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txt_Cant_NrosKeyPressed(evt);
            }
        });

        btn_Guardar_Serie.setText("Guardar Serie");
        btn_Guardar_Serie.setEnabled(false);
        btn_Guardar_Serie.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_Guardar_SerieActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnl_NumerosLayout = new javax.swing.GroupLayout(pnl_Numeros);
        pnl_Numeros.setLayout(pnl_NumerosLayout);
        pnl_NumerosLayout.setHorizontalGroup(
            pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_NumerosLayout.createSequentialGroup()
                .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnl_NumerosLayout.createSequentialGroup()
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(lbl_Valor_c)
                            .addComponent(lbl_Semilla)
                            .addComponent(lbl_Cant_Nros)
                            .addComponent(lbl_Intervalo))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(txt_Cant_Intervalos)
                            .addComponent(txt_Semilla)
                            .addComponent(txt_Valor_c)
                            .addComponent(txt_Cant_Nros, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(pnl_NumerosLayout.createSequentialGroup()
                        .addGap(75, 75, 75)
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(btn_Generar_Serie, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btn_Mas_1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btn_Graficar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btn_Limpiar_Lista, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(btn_Guardar_Serie, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(scroll_Lista, javax.swing.GroupLayout.DEFAULT_SIZE, 168, Short.MAX_VALUE)
                .addContainerGap())
        );
        pnl_NumerosLayout.setVerticalGroup(
            pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnl_NumerosLayout.createSequentialGroup()
                .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnl_NumerosLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lbl_Semilla)
                            .addComponent(txt_Semilla, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txt_Valor_c, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lbl_Valor_c))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txt_Cant_Nros, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lbl_Cant_Nros))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnl_NumerosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txt_Cant_Intervalos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lbl_Intervalo))
                        .addGap(18, 18, 18)
                        .addComponent(btn_Generar_Serie)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_Mas_1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_Graficar)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_Limpiar_Lista)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(btn_Guardar_Serie)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addComponent(scroll_Lista, javax.swing.GroupLayout.DEFAULT_SIZE, 342, Short.MAX_VALUE))
                .addContainerGap())
        );

        btn_Cerrar.setText("Cerrar");
        btn_Cerrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btn_CerrarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(btn_Cerrar, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(pnl_Forma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(pnl_Metodo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(pnl_Constantes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addComponent(pnl_Numeros, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(18, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(pnl_Forma, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(pnl_Metodo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(pnl_Constantes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(154, 154, 154))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(pnl_Numeros, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                .addComponent(btn_Cerrar)
                .addContainerGap(16, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void rbtn_BinarioItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_rbtn_BinarioItemStateChanged
 
    }//GEN-LAST:event_rbtn_BinarioItemStateChanged

    private void rbtn_DecimalItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_rbtn_DecimalItemStateChanged
         
    }//GEN-LAST:event_rbtn_DecimalItemStateChanged

    private void rbtn_BinarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbtn_BinarioActionPerformed
        this.rbtn_Binario.setSelected(true);
        this.rbtn_Decimal.setSelected(false); 
    }//GEN-LAST:event_rbtn_BinarioActionPerformed

    private void rbtn_DecimalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbtn_DecimalActionPerformed
       this.rbtn_Binario.setSelected(false);
       this.rbtn_Decimal.setSelected(true); 
    }//GEN-LAST:event_rbtn_DecimalActionPerformed

    private void rbtn_MultiplicativoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbtn_MultiplicativoActionPerformed
        this.rbtn_Mixto.setSelected(false);
        this.rbtn_Multiplicativo.setSelected(true);
        this.txt_Valor_c.setEnabled(false);
        this.txt_Valor_c.setText("0");
    }//GEN-LAST:event_rbtn_MultiplicativoActionPerformed

    private void rbtn_MixtoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rbtn_MixtoActionPerformed
        this.rbtn_Mixto.setSelected(true);
        this.rbtn_Multiplicativo.setSelected(false);
        this.txt_Valor_c.setText("");
        this.txt_Valor_c.setEnabled(true);
    }//GEN-LAST:event_rbtn_MixtoActionPerformed

    private void btn_Generar_aActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Generar_aActionPerformed
        if (this.txt_Valor_T.getText().equals("")){
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(),"Falta el valor de T.", "Importante", JOptionPane.INFORMATION_MESSAGE);
        }
        else if (this.rbtn_Binario.isSelected()==true || this.rbtn_Decimal.isSelected()== true){
                       
            if (this.rbtn_Binario.isSelected() == true){
                
                this.T= Integer.parseInt(this.txt_Valor_T.getText());
                
                a = modelo.Operaciones.generar_a_Binario(T);
                
                this.txt_Valor_a.setText(String.valueOf(a));
            }
            if (this.rbtn_Decimal.isSelected()== true){
                
                
                T= Integer.parseInt(this.txt_Valor_T.getText());
                
                a = modelo.Operaciones.generar_a_Decimal(T);
                
                this.txt_Valor_a.setText(String.valueOf(a));
            }
        }
        else
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Debe seleccionar una forma.", "Importante", JOptionPane.INFORMATION_MESSAGE);
    }//GEN-LAST:event_btn_Generar_aActionPerformed

    private void btn_Generar_mActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Generar_mActionPerformed
        
        if (this.txt_Valor_para_m.getText().equals("")){
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(),"Falta el valor para generar m.", "Importante", JOptionPane.INFORMATION_MESSAGE);
        }
        else if (this.rbtn_Binario.isSelected()==true || this.rbtn_Decimal.isSelected()== true){
            
            this.valor_para_m= Integer.parseInt(this.txt_Valor_para_m.getText());
            
            if (this.rbtn_Binario.isSelected() == true){
                                         
               m = modelo.Operaciones.generar_m(2, valor_para_m);
               
               this.txt_Valor_m.setText(String.valueOf(this.m));
            }
            
            if (this.rbtn_Decimal.isSelected() == true){
                             
               m = modelo.Operaciones.generar_m(10, valor_para_m);
               
               this.txt_Valor_m.setText(String.valueOf(this.m));
            }
        } 
        else{
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Debe seleccionar una forma.", "Importante", JOptionPane.INFORMATION_MESSAGE);
        }
    }//GEN-LAST:event_btn_Generar_mActionPerformed

    private void btn_Generar_SerieActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Generar_SerieActionPerformed
           
        boolean bandera=true;
        
         if (this.rbtn_Mixto.isSelected()== false && this.rbtn_Multiplicativo.isSelected()==false){ 
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(),"Debe seleccionar un método", "Importante", JOptionPane.INFORMATION_MESSAGE);
            bandera=false;
        }
        
        if (this.txt_Semilla.getText().equals("") || this.txt_Valor_c.getText().equals("") || this.txt_Valor_a.getText().equals("") || this.txt_Valor_m.getText().equals("")){
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), " Falta el valor de a, c, m o semilla. Por favor ingrese los valores", "Importante", JOptionPane.INFORMATION_MESSAGE);
            bandera=false;
        }
        if (bandera==true){
            
            listModel = new DefaultListModel();
            this.lst_Numeros.setModel(this.listModel);
            numeros= new ArrayList();
                       
            
            this.a = Integer.parseInt(this.txt_Valor_a.getText());
            this.semilla = Double.parseDouble(this.txt_Semilla.getText());
            this.c = Integer.parseInt(this.txt_Valor_c.getText());
            this.m = Integer.parseInt(this.txt_Valor_m.getText());
            int cont;
            
            if (this.rbtn_Mixto.isSelected()== true) {
                
                if (this.txt_Cant_Nros.getText().equals(""))
                {
                  for (cont=0; cont < 20; cont++) 
                  {
                    semilla = modelo.Operaciones.generar_Numero(semilla, a, c, m);
                    double numero_A_Guardar = semilla/m;
                    this.listModel.addElement(numero_A_Guardar);
                    numeros.add(semilla);
                   
                  }
                    
                }
                else
                {
                    int cant = Integer.parseInt(this.txt_Cant_Nros.getText());
                    
                    for (cont=0; cont < cant; cont++) 
                    { 
                        semilla = modelo.Operaciones.generar_Numero(semilla, a, c, m);
                        double numero_A_Guardar = semilla/m;
                        this.listModel.addElement(numero_A_Guardar);
                        numeros.add(semilla);
                    }
              
               }
                
            this.lst_Numeros.setSelectedIndex(0);
            this.btn_Mas_1.setEnabled(true);
            this.btn_Graficar.setEnabled(true);
            this.btn_Guardar_Serie.setEnabled(true);
                
            }
            
            if (this.rbtn_Multiplicativo.isSelected()== true) {
                
                if (this.txt_Cant_Nros.getText().equals(""))
                {
                    for (cont=0; cont< 20; cont++) 
                    {
                        semilla = modelo.Operaciones.generar_Numero(semilla, a, c, m);
                        System.out.println(semilla);
                        double numero_A_Guardar = semilla/m;
                        this.listModel.addElement(numero_A_Guardar);
                        numeros.add(semilla);
                    }
                }
                else
                {
                    int cant = Integer.parseInt(this.txt_Cant_Nros.getText());
                    
                    for (cont=0; cont < cant; cont++) 
                    { 
                        semilla = modelo.Operaciones.generar_Numero(semilla, a, c, m);
                        System.out.println(semilla);
                        double numero_A_Guardar = semilla/m;
                        this.listModel.addElement(numero_A_Guardar);
                        numeros.add(semilla);
                    } 
                }
                this.lst_Numeros.setSelectedIndex(0);
                this.btn_Mas_1.setEnabled(true);
                this.btn_Graficar.setEnabled(true);
                this.btn_Guardar_Serie.setEnabled(true);
            }
            
            this.btn_Generar_Serie.setEnabled(false);
        }      
    }//GEN-LAST:event_btn_Generar_SerieActionPerformed

    private void btn_Mas_1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Mas_1ActionPerformed
        semilla = modelo.Operaciones.generar_Numero(semilla, a, c, m);
        System.out.println(semilla);
        double numero_A_Guardar = semilla/m;
        this.listModel.addElement(numero_A_Guardar);
        numeros.add(semilla);
        
    }//GEN-LAST:event_btn_Mas_1ActionPerformed

    private void btn_Limpiar_ConstantesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Limpiar_ConstantesActionPerformed
       this.txt_Valor_T.setText("");
       this.txt_Valor_para_m.setText("");
       this.txt_Valor_a.setText("");
       this.txt_Valor_m.setText("");   
    }//GEN-LAST:event_btn_Limpiar_ConstantesActionPerformed

    private void btn_Limpiar_ListaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Limpiar_ListaActionPerformed
        if (this.lst_Numeros.getSelectedIndex()==-1)
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(),"No hay nada que borrar", "Importante", JOptionPane.INFORMATION_MESSAGE);
        else {
           this.listModel.removeAllElements();
           this.txt_Valor_c.setText("");
           this.txt_Semilla.setText("");
           this.btn_Mas_1.setEnabled(false);
           this.btn_Graficar.setEnabled(false);
           this.numeros.clear();
           this.btn_Generar_Serie.setEnabled(true);
           this.txt_Cant_Nros.setText("");
           
        }
    }//GEN-LAST:event_btn_Limpiar_ListaActionPerformed

    private void txt_Valor_TKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_Valor_TKeyPressed
        char caracter = evt.getKeyChar();
        
        if (!((Character.isDigit(caracter) || (caracter == KeyEvent.VK_BACK_SPACE))))
        {
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ingrese solo numeros!", "Importante", JOptionPane.INFORMATION_MESSAGE);
            this.txt_Valor_T.setText("");
        }
    }//GEN-LAST:event_txt_Valor_TKeyPressed

    private void txt_Valor_TKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_Valor_TKeyTyped
    }//GEN-LAST:event_txt_Valor_TKeyTyped

    private void txt_Valor_para_mKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_Valor_para_mKeyPressed
       char caracter = evt.getKeyChar();
        
        if (!((Character.isDigit(caracter) || (caracter == KeyEvent.VK_BACK_SPACE))))
        {
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ingrese solo numeros!", "Importante", JOptionPane.INFORMATION_MESSAGE);
            this.txt_Valor_para_m.setText("");
        }
    }//GEN-LAST:event_txt_Valor_para_mKeyPressed

    private void txt_SemillaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_SemillaKeyPressed
        char caracter = evt.getKeyChar();
        
        if (!((Character.isDigit(caracter) || (caracter == KeyEvent.VK_BACK_SPACE))))
        {
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ingrese solo numeros!", "Importante", JOptionPane.INFORMATION_MESSAGE);
            this.txt_Semilla.setText("");
        }
    }//GEN-LAST:event_txt_SemillaKeyPressed

    private void txt_Cant_IntervalosKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_Cant_IntervalosKeyPressed
        char caracter = evt.getKeyChar();
        
        if (!((Character.isDigit(caracter) || (caracter == KeyEvent.VK_BACK_SPACE))))
        {
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ingrese solo numeros!", "Importante", JOptionPane.INFORMATION_MESSAGE);
            this.txt_Cant_Intervalos.setText("");
        }
    }//GEN-LAST:event_txt_Cant_IntervalosKeyPressed

    private void btn_CerrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_CerrarActionPerformed
        Principal miPrincipal= new Principal();
        miPrincipal.setVisible(true);
        this.setVisible(false);
    }//GEN-LAST:event_btn_CerrarActionPerformed

    private void txt_Valor_cKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_Valor_cKeyPressed
        char caracter = evt.getKeyChar();
        
        if (!((Character.isDigit(caracter) || (caracter == KeyEvent.VK_BACK_SPACE))))
        {
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ingrese solo numeros!", "Importante", JOptionPane.INFORMATION_MESSAGE);
            this.txt_Valor_c.setText("");
        }
    }//GEN-LAST:event_txt_Valor_cKeyPressed

    private void btn_GraficarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_GraficarActionPerformed
        if(this.txt_Cant_Intervalos.getText().equals("")){
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Debe ingresar la cantidad de itervalos","Importante",JOptionPane.INFORMATION_MESSAGE);
        }
        else {
            
            cant_Intervalos= Integer.parseInt(this.txt_Cant_Intervalos.getText());
            this.amplitud= Double.parseDouble(this.txt_Valor_m.getText())/cant_Intervalos;
            double lim_Inferior=0;
            double lim_Superior=amplitud;
            int i;
            this.cant_Numeros= numeros.size();
            this.frecuencia_Esperada = this.cant_Numeros/this.cant_Intervalos; 
            intervalo= new Intervalo[cant_Intervalos];
            
            for (i=0; i<cant_Intervalos; i++)
            {
                intervalo[i]= new Intervalo(lim_Inferior,lim_Superior);
                lim_Inferior= lim_Superior;
                lim_Superior= lim_Superior+amplitud;
            }
            
            for (int j=0; j < cant_Intervalos; j++){
                
                for (i=0; i < cant_Numeros ; i ++){
                                                          
                    if(numeros.get(i) >=intervalo[j].getLimInferior() && numeros.get(i) <intervalo[j].getLimSuperior()){
                        intervalo[j].agregarNumero(lim_Superior);
                    }
                }
            }
            
        dataset = new DefaultCategoryDataset();
        
        for (int p=0; p < intervalo.length; p++){
            
            dataset.addValue(intervalo[p].getContador(), "Frecuencia Observada" ,"[" + intervalo[p].getLimInferior() + " - " + intervalo[p].getLimSuperior()+"]");
        }
        
        for (int h=0; h < intervalo.length; h++){
            
            dataset.addValue(this.frecuencia_Esperada, "Frecuencia Esperada","[" + intervalo[h].getLimInferior() + " - " + intervalo[h].getLimSuperior()+"]");
        }            
        
        JFreeChart chart= ChartFactory.createBarChart3D("Distribucion de Frecuencias", "Intervalos", "Frecuencia", dataset, PlotOrientation.VERTICAL,false,true,false);
        
        ChartFrame frame = new ChartFrame("Grafico de barras", chart);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setExtendedState(ChartFrame.MAXIMIZED_BOTH);
        frame.setVisible(true);
   
        }
    }//GEN-LAST:event_btn_GraficarActionPerformed

    private void txt_Cant_NrosKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_Cant_NrosKeyPressed
        char caracter = evt.getKeyChar();
        
        if (!((Character.isDigit(caracter) || (caracter == KeyEvent.VK_BACK_SPACE))))
        {
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ingrese solo numeros!", "Importante", JOptionPane.INFORMATION_MESSAGE);
            this.txt_Cant_Nros.setText("");
        }
    }//GEN-LAST:event_txt_Cant_NrosKeyPressed

    private void btn_Guardar_SerieActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btn_Guardar_SerieActionPerformed
        
        File file;
        FileWriter writer = null;
        
        try
        {
            file = new File("numeros.txt");
            writer = new FileWriter(file);
        }
        catch (Exception ex)
        { 
            System.out.println("Error en la creacion del archivo" + ex.getMessage());
        }
        
        String cadena_A_Guardar = "";
        
        for (int i = 0; i < listModel.getSize(); i++)
        {
            cadena_A_Guardar += listModel.get(i) + "\n";
            System.out.println(cadena_A_Guardar);            
        }
        
        if (Operaciones.escribir_Archivo(writer, cadena_A_Guardar) == true)
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Archivo guardado!!", "Importante", JOptionPane.INFORMATION_MESSAGE);
        else
            JOptionPane.showMessageDialog(VistaGenerador.super.getContentPane(), "Ha ocurrido un error", "Importante", JOptionPane.ERROR_MESSAGE);
                
        Operaciones.cerrar_Flujo(writer);
        
        this.btn_Guardar_Serie.setEnabled(false);
        this.btn_Mas_1.setEnabled(false);
    }//GEN-LAST:event_btn_Guardar_SerieActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(VistaGenerador.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(VistaGenerador.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(VistaGenerador.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(VistaGenerador.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new VistaGenerador().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btn_Cerrar;
    private javax.swing.JButton btn_Generar_Serie;
    private javax.swing.JButton btn_Generar_a;
    private javax.swing.JButton btn_Generar_m;
    private javax.swing.JButton btn_Graficar;
    private javax.swing.ButtonGroup btn_Grupo_Forma;
    private javax.swing.ButtonGroup btn_Grupo_Metodo;
    private javax.swing.JButton btn_Guardar_Serie;
    private javax.swing.JButton btn_Limpiar_Constantes;
    private javax.swing.JButton btn_Limpiar_Lista;
    private javax.swing.JButton btn_Mas_1;
    private javax.swing.JLabel lbl_Cant_Nros;
    private javax.swing.JLabel lbl_Intervalo;
    private javax.swing.JLabel lbl_Semilla;
    private javax.swing.JLabel lbl_Valor_T;
    private javax.swing.JLabel lbl_Valor_a;
    private javax.swing.JLabel lbl_Valor_c;
    private javax.swing.JLabel lbl_Valor_m;
    private javax.swing.JLabel lbl_Valor_para_m;
    private javax.swing.JList lst_Numeros;
    private javax.swing.JPanel pnl_Constantes;
    private javax.swing.JPanel pnl_Forma;
    private javax.swing.JPanel pnl_Metodo;
    private javax.swing.JPanel pnl_Numeros;
    private javax.swing.JRadioButton rbtn_Binario;
    private javax.swing.JRadioButton rbtn_Decimal;
    private javax.swing.JRadioButton rbtn_Mixto;
    private javax.swing.JRadioButton rbtn_Multiplicativo;
    private javax.swing.JScrollPane scroll_Lista;
    private javax.swing.JTextField txt_Cant_Intervalos;
    private javax.swing.JTextField txt_Cant_Nros;
    private javax.swing.JTextField txt_Semilla;
    private javax.swing.JTextField txt_Valor_T;
    private javax.swing.JTextField txt_Valor_a;
    private javax.swing.JTextField txt_Valor_c;
    private javax.swing.JTextField txt_Valor_m;
    private javax.swing.JTextField txt_Valor_para_m;
    // End of variables declaration//GEN-END:variables
}
